package cn.matrix42.potoo.format.markdown.parser;

import java.text.ParseException;
import java.util.LinkedHashSet;
import java.util.LinkedList;

import cn.matrix42.potoo.format.markdown.element.MarkdownElement;

public interface MarkdownElementParser<T extends MarkdownElement> {

    T parseFrom(LinkedList<String> markdownStringQueue) throws ParseException;

    boolean canParse(LinkedList<String> markdownStringQueue);

    boolean isLeafElement();

    LinkedHashSet<Class<T>> parentElements();

}
